"""类继承练习：人力系统
员工分为两类：全职员工 FullTimeEmployee、兼职员工PartTimeEmployee。
全职和兼职都有“姓名 name"、"工号 id"属性，
都具备"打印信息 print_info"(打印姓名、工号)方法。
全职有“月薪 monthty_salary"属性，兼职有“日薪 daily_salary"属性、"每月工作天数 work_days"的属性。
全职和兼职都有"计算月薪calculate_monthly_pay"的方法，但具体计算过程不一样。"""





class Employee:
    def __init__(self,employee_name,employee_id):
        self.name = employee_name
        self.id = employee_id
    def print_info(self):
        print(f"员工{self.name}的工号为:{self.id}")
    """定义员工这一父类，包括名字,工号属性和打印信息方法"""
class FullTimeEmployee(Employee):
    def __init__(self,employee_name,employee_id,mouthly_salary):
        super().__init__(employee_name,employee_id)
        self.salary = mouthly_salary
    def calculate_mouthly_pay(self):
        print(f"{self.name}的月薪为:{self.salary}元")
    """定义兼职员工这一子类，有部分继承父类，有部分定义月薪这一属性和打印月薪方法"""
class PartTimeEmployee(Employee):
    def __init__(self,employee_name,employee_id,daily_salary,work_days):
        super().__init__(employee_name,employee_id)
        self.salary = daily_salary
        self.days = work_days
    def calculate_mouthly_pay(self):
        self.mouthly_pay = int(self.salary)*int(self.days)
        print(f"{self.name}的月薪为:{self.mouthly_pay}元")
    """定义兼职员工这一子类，有部分继承父类，有部分定义日薪，工作天数属性和打印月薪这一方法"""


xiaoming = FullTimeEmployee("小明",10086,5600)
xiaoming.print_info()
xiaoming.calculate_mouthly_pay()
xiaohong = PartTimeEmployee("小红",10060,150,20)
xiaohong.print_info()
xiaohong.calculate_mouthly_pay()